﻿#define _CRT_SECURE_NO_WARNINGS//递归和非递归分别实现求n的阶乘（不考虑溢出的问题）
#include<stdio.h>
ma(int b)
{
	if (b < 2)
	{
		return b;
	}
	return b * ma(b - 1);
}
int main()
{
	int a = 0; int t = 1;
	scanf("%d", &a);
	for (int i = a; i > 0; i--)
		t = t * i;
	printf("%d\n", t);
	int c = ma(a);
	printf("%d\n", c);
	return 0;
}